package cn.com.cennavi.bean;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * didi最新规格
 * 
 * @ClassName: DidiNewData
 * @Description: TODO（这里用一句话描述这个类的作用）
 * @author bull
 * @date 2016年7月12日 下午1:58:23
 *
 */
public class DidiNewData implements Serializable{
	/**
	 * 匿名的用户ID
	 */
	public String carId;
	/**
	 * 经纬度坐标
	 */
	public double lon;
	/**
	 * 经纬度坐标
	 */
	public double lat;
	/**
	 * 位置点时间
	 */
	public long timeStamp;
	/**
	 * 速度Speed(m/s)
	 */
	public double speed;
	/**
	 * 方向（0-359）
	 */
	public double angle;
	/**
	 * 水平精度因子 ：水平坐标精度的误差程度，值为经度和纬度误差平方和的开根号，单位：米
	 */
	public int HDOP;
	/**
	 * 用户数据来源
	 */
	public String sourse;
	/**
	 * 坐标系统
	 */
	public String geoSystem;
	/**
	 * 车辆类型
	 */
	public String carClass;
	/**
	 * 车辆载客状态
	 */
	public String carStatus;

	public static DidiNewData parseLine(String line) {
		String[] arr = line.split(",");
		if (arr.length != 10) {
			return null;
		}
		DidiNewData didi = new DidiNewData();
		// didi.carId=arr[0];
		didi.lon = Double.parseDouble(arr[0]);
		didi.lat = Double.parseDouble(arr[1]);
		didi.timeStamp = Long.parseLong(arr[2]);
		didi.speed = Double.parseDouble(arr[3]);
		didi.angle = Double.parseDouble(arr[4]);
		didi.HDOP = Integer.parseInt(arr[5]);
		didi.sourse = arr[6];
		didi.geoSystem = arr[7];
		didi.carClass = arr[8];
		didi.carStatus = arr[9];
		return didi;
	}

	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append(carId);
		sb.append(",");
		return sb.toString();
	}

	private SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmm");
	private SimpleDateFormat hf = new SimpleDateFormat("HH");
	private SimpleDateFormat mf = new SimpleDateFormat("mm");

	public String getDate() {
		Date date = new Date();
		date.setTime(this.timeStamp * 1000);
		String dateForm = sf.format(date);
		return dateForm;
	}

	public int getMin() {
		Date date = new Date();
		date.setTime(this.timeStamp * 1000);
//		System.out.println(sf.format(date));
//		System.out.println(date.getHours()*60+","+date.getMinutes());
		return date.getHours()*60+date.getMinutes();
	}
}
